/*
 * PACKAGE NAME: com.jodinfo.outmirror.implementation.offmessage.service
 * FILE    NAME: OffMessageDaoImpl.java
 * COPYRIGHT: Copyright(c) © 2016 heroj Company Ltd. All Rights Reserved
 */ 
package com.jodinfo.outmirror.service.impl;


import java.math.BigInteger;
import java.util.List;

import javax.annotation.Resource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

import com.jodinfo.outmirror.dao.OffMessageDao;
import com.jodinfo.outmirror.entity.OffMessageEntity;
import com.jodinfo.outmirror.service.OffMessageQueryService;

@Service(value="offMessageQueryService")
public class OffMessageQueryServiceImpl implements OffMessageQueryService {

  private static final Logger logger = LoggerFactory.getLogger(OffMessageQueryService.class);
 
	@Resource(name="offMessageDao")
	private OffMessageDao offMessageDao;
	
	/** 
	 * 
	 * @author ZhangYuanYuan
	 * @date 2016年12月30日 上午9:15:36
	 * @see com.jodinfo.outmirror.implementation.offmessage.OffMessageQueryService#queryAllOffMessage(OffMessageEntity offMessageEntity)
	 * @param OffMessageEntity offMessageEntity
	 * @return List<OffMessageEntity>
	 */
	@Cacheable(sync=true,keyGenerator="redisKeyGenerator")
	public List<OffMessageEntity> queryAllOffMessage(OffMessageEntity offMessageEntity) {
		
		return offMessageDao.queryList(offMessageEntity);
	}
	/** 
	 * 
	 * @author ZhangYuanYuan
	 * @date 2016年12月30日 上午9:15:36
	 * @see com.jodinfo.outmirror.implementation.offmessage.OffMessageQueryService#queryAllOffMessage(OffMessageEntity offMessageEntity)
	 * @param OffMessageEntity offMessageEntity
	 * @return List<OffMessageEntity>
	 */
	@Cacheable(sync=true,keyGenerator="redisKeyGenerator")
	public List<OffMessageEntity> queryListForPageOffMessage(OffMessageEntity offMessageEntity) {
		
		return offMessageDao.queryList(offMessageEntity,offMessageEntity.getPageIndex(),offMessageEntity.getPageSize());
	}
	/** 
	 * 
	 * @author ZhangYuanYuan
	 * @date 2016年12月30日 上午9:15:36
	 * @see com.jodinfo.outmirror.implementation.offmessage.OffMessageQueryService#queryCountOffMessage(OffMessageEntity offMessageEntity)
	 * @param OffMessageEntity offMessageEntity
	 * @return Long
	 */
	@Cacheable(sync=true,keyGenerator="redisKeyGenerator")
	public Long queryCountOffMessage(OffMessageEntity offMessageEntity) {
		
		return offMessageDao.queryCount(offMessageEntity);
	}  
	
	/** 
	 * 
	 * @author ZhangYuanYuan
	 * @date 2016年12月30日 上午9:15:36
	 * @see com.jodinfo.outmirror.implementation.offmessage.OffMessageQueryService#queryByID(OffMessageEntity offMessageEntity)
	 * @param BigInteger id
	 * @return
	 */
	@Cacheable(sync=true,keyGenerator="redisKeyGenerator")
	public OffMessageEntity queryById(BigInteger id) {
		
		return offMessageDao.queryById(id);
	}
	/** 
	 * 
	 * @author ZhangYuanYuan
	 * @date 2016年12月30日 上午9:15:36
	 * @see com.jodinfo.outmirror.implementation.offmessage.OffMessageQueryService#queryByIds(List<BigInteger> ids)
	 * @param List<BigInteger> ids
	 * @return List<OffMessageEntity>
	 */
	@Cacheable(sync=true,keyGenerator="redisKeyGenerator")
	public List<OffMessageEntity> queryByIds(List<BigInteger> ids) {
		 
		 return offMessageDao.queryByIds(ids);
	}
	/** 
	 * 
	 * @author ZhangYuanYuan
	 * @date 2016年12月30日 上午9:15:36
	 * @see com.jodinfo.outmirror.implementation.offmessage.OffMessageQueryService#queryByEntity(OffMessageEntity offMessageEntity)
	 * @param List<BigInteger> ids
	 * @return List<OffMessageEntity>
	 */
	@Cacheable(sync=true,keyGenerator="redisKeyGenerator")
	public OffMessageEntity queryByEntity(OffMessageEntity offMessageEntity) {
		return offMessageDao.queryEntity(offMessageEntity);
	}
}

